/*
 * Location
 * 
 * Copyright 2008-2011 Centro Andaluz de Innovacion y Tecnologias de la
 * Informacion y las Comunicaciones (CITIC). All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 *
 * Please contact CITIC - Edificio CITIC, C/ Marie Curie, 6 Parque
 * Tecnologico de Andalucia 29590 - Campanillas, Malaga, Spain
 * or visit www.citic.es, if you need additional information or
 * have any questions.
 */

package es.citic.puedes.weatherservice.model;

public class Location {
	private String location;
	private String country;
	private Double latitude;
	private Double longitude;
	private Long population;

	/**
	 * Empty constructor
	 */
	public Location() {
		this.location = null;
		this.country = null;
		this.latitude = null;
		this.longitude = null;
		this.population = null;
	}

	/**
	 * Constructor with parameters
	 * 
	 * @param location
	 *            location name
	 * @param country
	 *            country name
	 * @param latitude
	 *            latitude value
	 * @param longitude
	 *            longitude value
	 * @param population
	 *            population value
	 */
	public Location(String location, String country, Double latitude,
			Double longitude, Long population) {
		this.location = location;
		this.country = country;
		this.latitude = latitude;
		this.longitude = longitude;
		this.population = population;
	}

	/**
	 * Get location
	 * 
	 * @return location location name
	 */
	public String getLocation() {
		return this.location.trim();
	}

	/**
	 * Get country
	 * 
	 * @return country country name
	 */
	public String getCountry() {
		return this.country.trim();
	}

	/**
	 * Get latitude
	 * 
	 * @return latitude latitude value
	 */
	public Double getLatitude() {
		return this.latitude;
	}

	/**
	 * Get longitude
	 * 
	 * @return longitude longitude value
	 */
	public Double getLongitude() {
		return this.longitude;
	}

	/**
	 * Get population
	 * 
	 * @return population population value
	 */
	public Long getPopulation() {
		return this.population;
	}

	/**
	 * Set location
	 * 
	 * @param location
	 *            location name
	 */
	public void setLocation(String location) {
		this.location = location;
	}

	/**
	 * Set country
	 * 
	 * @param country
	 *            country name
	 */
	public void setCountry(String country) {
		this.country = country;
	}

	/**
	 * Set latitude
	 * 
	 * @param latitude
	 *            Latitude value
	 */
	public void setLatitude(Double latitude) {
		this.latitude = latitude;
	}

	/**
	 * Set longitude
	 * 
	 * @param longitude
	 *            Longitude value
	 */
	public void setLongitude(Double longitude) {
		this.longitude = longitude;
	}

	/**
	 * Set population
	 * 
	 * @param population
	 *            Population value
	 */
	public void setPopulation(Long population) {
		this.population = population;
	}

	/**
	 * Return a string representation of the object
	 */
	public String toString() {
		return "Location: " + this.location + ", Country: " + this.country
				+ ", Latitude: " + this.latitude + ", Longitude: "
				+ this.longitude + ", Population: " + this.population;
	}
}
